package com.cetcs.kmga.dataManager.service.device;


import com.cetcs.kmga.common.Data;
import com.cetcs.kmga.common.Page;
import com.cetcs.kmga.dataManager.entity.device.DeviceInfo;
import com.cetcs.kmga.dataManager.entity.device.DeviceLoginParams;
import com.cetcs.kmga.dataManager.entity.device.DeviceManufacturerIdentifier;
import com.cetcs.kmga.dataManager.entity.device.DeviceTypeIdentifier;
import com.cetcs.kmga.dataManager.entity.device.vo.DeviceConfigMenuVo;
import com.cetcs.kmga.dataManager.entity.device.vo.DeviceStatusInfoVo;
import com.cetcs.kmga.dataManager.entity.device.vo.DeviceSummaryQuantityVo;
import com.cetcs.kmga.dataManager.entity.device.vo.TopologyVo;

import java.util.List;

/**
 * 用户service
 * Created by XingWen on 2016/3/29.
 */
public interface DeviceManagerService{
    //通过id获取设备信息
    public DeviceInfo getDeviceInfoById(Data dataMap) throws Exception;
    //通过条件获取所有的设备信息
    public List<DeviceInfo> getDeviceInfosByCondition(Data dataMap) throws Exception;
    //通过条件获取所有的设备信息
    public Page getDeviceInfosByPageAndCondition(Data dataMap) throws Exception;
    //创建设备信息
    public Integer createDeviceInfo(Data dataMap) throws Exception;
    //更新设备信息
    public Integer updateDeviceInfo(Data dataMap) throws Exception;
    //删除设备信息
    public Integer deleteDeviceInfo(Data dataMap) throws Exception;
    //删除设备信息
    public Integer batchDeleteDevice(Data dataMap) throws Exception;
    //是否存在设备
    public Integer isExistDevice(Data dataMap) throws Exception;


    //根据类型获得相应的数量
    public DeviceSummaryQuantityVo getDeviceNumByType(Data dataMap) throws Exception;
    //通过条件获得相应的设备拓扑图
    public TopologyVo getDevicesTopologyByCondition(Data dataMap) throws Exception;




    //获取设备类型
    public List<DeviceTypeIdentifier> getAllDeviceType(Data dataMap) throws Exception;
    //获取设备厂商类型
    public List<DeviceManufacturerIdentifier> getAllDeviceManufacturer(Data dataMap) throws Exception;

    //获取数据资源
    public Integer createDataResource(Data dataMap) throws Exception;

    //获取设备状态信息 折线图
    public DeviceStatusInfoVo getDeviceStatusInfoById(Data dataMap) throws Exception;
    //获取设备配置菜单
    public List<DeviceConfigMenuVo> getDeviceConfigMenuById(Data dataMap) throws Exception;



    //获取设备登录的参数
    List<DeviceLoginParams> getDeviceLoginParamsByDeviceID(Data dataMap) throws Exception;


}
